package com.codefish;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * 新的图书管理系统类,只能接收Iterator对象来初始化书籍列表
 *
 * @author codefish
 * @version 1.0
 * @date 2022/06/15 下午 06:57
 */
public class NewBookSystem {
    /**
     * 书籍列表
     */
    List<String> books = new ArrayList<>();

    public NewBookSystem(Iterator<String> iterator) {
        setBooks(iterator);
    }

    /**
     * 从外部的iterator中拉取数据
     *
     * @param iterator iterator对象
     */
    private void setBooks(Iterator<String> iterator) {
        books.clear();
        while (iterator.hasNext()) {
            books.add(iterator.next());
        }
    }

    /**
     * 返回迭代器
     *
     * @return 迭代器
     */
    public Iterator<String> getIterator() {
        return books.iterator();
    }

    public void listBooks() {
        Iterator<String> iterator = books.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }

}
